home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_freebox.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  1KB  |  47 lines

  1. #ifndef EWL_FREEBOX_H
  2. #define EWL_FREEBOX_H
  3.  
  4. /**
  5.  * @brief Callback to compare two widgets to determin which is first. If the
  6.  * return is < 0 then a is first. If the return is > 0 then b is first. If
  7.  * the return == 0 then they are equal 
  8.  */
  9. typedef int (*Ewl_Freebox_Comparator)(Ewl_Widget *a, Ewl_Widget *b);
  10.  
  11. #define EWL_FREEBOX(box) ((Ewl_Freebox *)box)
  12.  
  13. typedef struct Ewl_Freebox Ewl_Freebox;
  14. struct Ewl_Freebox
  15. {
  16.     Ewl_Container container;
  17.     Ewl_Freebox_Layout_Type layout;
  18.  
  19.     Ewl_Freebox_Comparator comparator;
  20.  
  21.     unsigned short sorted;
  22. };
  23.  
  24. Ewl_Widget        *ewl_freebox_new(void);
  25. int              ewl_freebox_init(Ewl_Freebox *fb);
  26.  
  27. void              ewl_freebox_layout_type_set(Ewl_Freebox *fb,
  28.                     Ewl_Freebox_Layout_Type type);
  29. Ewl_Freebox_Layout_Type  ewl_freebox_layout_type_get(Ewl_Freebox *fb);
  30.  
  31. void             ewl_freebox_comparator_set(Ewl_Freebox *fb,
  32.                     Ewl_Freebox_Comparator cmp);
  33. Ewl_Freebox_Comparator     ewl_freebox_comparator_get(Ewl_Freebox *fb);
  34.  
  35. void             ewl_freebox_resort(Ewl_Freebox *fb);
  36.  
  37. /*
  38.  * Internal callbacks, override at your risk
  39.  */
  40. void ewl_freebox_cb_configure(Ewl_Widget *w, void *ev, void *data);
  41.  
  42. void ewl_freebox_cb_child_add(Ewl_Container *c, Ewl_Widget *w);
  43. void ewl_freebox_cb_child_show(Ewl_Container *c, Ewl_Widget *w);
  44.  
  45. #endif
  46.  
  47.